[data-scope='fieldset'][data-part='root'] {
  border: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 16rem;

  > * + * {
    margin-top: 1rem;
  }

  &[data-disabled] {
    opacity: 0.6;
    pointer-events: none;
    background-color: #f9fafb;
  }

  &[data-invalid] {
    border-color: #ef4444;
  }
}

[data-scope='fieldset'][data-part='legend'] {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.75rem;
  letter-spacing: -0.0025em;
  color: #111827;

  &[data-disabled] {
    color: #9ca3af;
  }

  &[data-invalid] {
    color: #ff0000;
  }
}

[data-scope='fieldset'][data-part='helper-text'] {
  display: inline-block;
  color: #3e3e3e;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

[data-scope='fieldset'][data-part='error-text'] {
  color: #ff0000;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
